home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
bbsutils
/
bullunr.arj
/
BULLETIN.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-03-06
|
8KB
|
306 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer TINTEGER001(12,2)
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
String STRING001
String TSTRING002(12)
String TSTRING003(12)
;------------------------------------------------------------------------------
INTEGER005 = 11
INTEGER003 = 0
INTEGER002 = 0
TINTEGER001(0, 0) = 7
TINTEGER001(0, 1) = 6
TINTEGER001(1, 0) = 7
TINTEGER001(1, 1) = 9
TINTEGER001(2, 0) = 7
TINTEGER001(2, 1) = 12
TINTEGER001(3, 0) = 7
TINTEGER001(3, 1) = 15
TINTEGER001(4, 0) = 7
TINTEGER001(4, 1) = 18
TINTEGER001(5, 0) = 7
TINTEGER001(5, 1) = 21
TINTEGER001(6, 0) = 46
TINTEGER001(6, 1) = 6
TINTEGER001(7, 0) = 46
TINTEGER001(7, 1) = 9
TINTEGER001(8, 0) = 46
TINTEGER001(8, 1) = 12
TINTEGER001(9, 0) = 46
TINTEGER001(9, 1) = 15
TINTEGER001(10, 0) = 46
TINTEGER001(10, 1) = 18
TINTEGER001(11, 0) = 46
TINTEGER001(11, 1) = 21
Log "BULLETIN PPE: entered", 0
If (TokCount() == 0) Then
Print "@X02BULLETIN: .CFG path not specified, exiting..."
Log "BULLETIN: .CFG path not specified, exiting...", 0
Else
STRING001 = GetToken()
FOpen 1, PPEPath() + STRING001, 0, 0
If (Ferr(1)) Then
Print "@X02BULLETIN: could not open " + STRING001 + ", exiting..."
Log "BULLETIN: could not open " + STRING001 + ", exiting...", 0
Else
INTEGER004 = 0
FGet 1, TSTRING002(INTEGER004)
FGet 1, TSTRING003(INTEGER004)
:LABEL001
If (Ferr(1)) Goto LABEL002
Inc INTEGER004
FGet 1, TSTRING002(INTEGER004)
FGet 1, TSTRING003(INTEGER004)
Goto LABEL001
:LABEL002
If (Ferr(1)) Then
Print "@X02BULLETIN: error reading BULLETIN.CFG, exiting..."
Log "BULLETIN: error reading BULLETIN.CFG, exiting...", 0
Else
:LABEL003
Gosub LABEL011
Gosub LABEL010
Gosub LABEL007
While (INTEGER003 <> 1) Do
STRING001 = ""
STRING001 = Inkey()
If (Left(STRING001, 4) == "DOWN") Then
Gosub LABEL008
Inc INTEGER002
If (INTEGER002 > INTEGER005) INTEGER002 = 0
Gosub LABEL007
Continue
Endif
If (Left(STRING001, 2) == "UP") Then
Gosub LABEL008
Dec INTEGER002
If (INTEGER002 < 0) INTEGER002 = INTEGER005
Gosub LABEL007
Continue
Endif
If (Left(STRING001, 5) == "RIGHT") Then
Gosub LABEL008
If (INTEGER002 + 6 > INTEGER005) Then
INTEGER002 = INTEGER002 + 6 - INTEGER005 - 1
Goto LABEL004
Endif
INTEGER002 = INTEGER002 + 6
:LABEL004
Gosub LABEL007
Continue
Endif
If (Left(STRING001, 4) == "LEFT") Then
Gosub LABEL008
If (INTEGER002 - 6 < 0) Then
INTEGER002 = INTEGER005 + INTEGER002 - 6 + 1
Goto LABEL005
Endif
INTEGER002 = INTEGER002 - 6
:LABEL005
Gosub LABEL007
Continue
Endif
If (STRING001 == Chr(13)) Then
Gosub LABEL009
Goto LABEL003
Continue
Endif
If ((STRING001 == "Q") || (STRING001 == "q")) Then
INTEGER003 = 1
Continue
Endif
If ((STRING001 == "H") || (STRING001 == "h")) Then
Gosub LABEL012
Goto LABEL003
Endif
EndWhile
Endif
Endif
Endif
:LABEL006
Color 15
Print "@CLS@"
FClose 1
Log "BULLETIN PPE: exited", 0
End
:LABEL007
STRING001 = ScrText(TINTEGER001(INTEGER002, 0), TINTEGER001(INTEGER002, 1), 32, 0)
AnsiPos TINTEGER001(INTEGER002, 0), TINTEGER001(INTEGER002, 1)
Color 32
STRING001 = RTrim(STRING001, " ")
If (STRING001 == "") Then
Print "QUIT"
Else
Print STRING001
Endif
AnsiPos TINTEGER001(INTEGER002, 0), TINTEGER001(INTEGER002, 1)
Return
:LABEL008
STRING001 = ScrText(TINTEGER001(INTEGER002, 0), TINTEGER001(INTEGER002, 1), 32, 0)
AnsiPos TINTEGER001(INTEGER002, 0), TINTEGER001(INTEGER002, 1)
Color 42
STRING001 = RTrim(STRING001, " ")
If (STRING001 == "QUIT") Then
Print " "
Else
Print STRING001
Endif
Return
:LABEL009
STRING001 = ScrText(TINTEGER001(INTEGER002, 0), TINTEGER001(INTEGER002, 1), 4, 0)
If (RTrim(STRING001, " ") == "QUIT") Then
DefColor
Goto LABEL006
Else
DefColor
Print "@CLS@@PON@"
DispFile TSTRING003(INTEGER002), 2 + 1 + 4
Print "@WAIT@"
Endif
Return
:LABEL010
Color 42
For INTEGER004 = 0 To INTEGER005
AnsiPos TINTEGER001(INTEGER004, 0), TINTEGER001(INTEGER004, 1)
Print TSTRING002(INTEGER004)
Next
Return
:LABEL011
PrintLn "@POFF@@CLS@@X07@X0A▐@X2A┌───────────────────────────────────────────────────────────────────────────@X20┐@X08▌"
PrintLn "@X0A▐@X2A│ @X2EBULLETIN.PPE ■ COPYRIGHT 1994 ■ ROBERT BROWER ■ @XAETHIS COPY IS UNREGISTERED @X20│@X08▌"
PrintLn "@X0A▐@X2A└@X20───────────────────────────────────────────────────────────────────────────┘@X08▌"
PrintLn "@X0A▐@X2A (@X2E@X2A)MOVE (@X2E@X2A)MOVE (@X2E@X2A)MOVE (@X2E@X2A)MOVE (@X2EQ@X2A)UIT (@XAEH@X2A)ELP (@X2EENTER@X2A) = VIEW BULLETIN @X08▌"
PrintLn "@X0A▐@X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐ @X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐@X08▌"
PrintLn "@X0A▐@X2A│@X2E01@X20│@X2A│ @X20│ @X2A│@X2E07@X20│@X2A│ @X20│@X08▌"
PrintLn "@X0A▐@X2A└@X20──┘@X2A└@X20────────────────────────────────┘ @X2A└@X20──┘@X2A└@X20────────────────────────────────┘@X08▌"
PrintLn "@X0A▐@X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐ @X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐@X08▌"
PrintLn "@X0A▐@X2A│@X2E02@X20│@X2A│ @X20│ @X2A│@X2E08@X20│@X2A│ @X20│@X08▌"
PrintLn "@X0A▐@X2A└@X20──┘@X2A└@X20────────────────────────────────┘ @X2A└@X20──┘@X2A└@X20────────────────────────────────┘@X08▌"
PrintLn "@X0A▐@X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐ @X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐@X08▌"
PrintLn "@X0A▐@X2A│@X2E03@X20│@X2A│ @X20│ @X2A│@X2E09@X20│@X2A│ @X20│@X08▌"
PrintLn "@X0A▐@X2A└@X20──┘@X2A└@X20────────────────────────────────┘ @X2A└@X20──┘@X2A└@X20────────────────────────────────┘@X08▌"
PrintLn "@X0A▐@X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐ @X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐@X08▌"
PrintLn "@X0A▐@X2A│@X2E04@X20│@X2A│ @X20│ @X2A│@X2E10@X20│@X2A│ @X20│@X08▌"
PrintLn "@X0A▐@X2A└@X20──┘@X2A└@X20────────────────────────────────┘ @X2A└@X20──┘@X2A└@X20────────────────────────────────┘@X08▌"
PrintLn "@X0A▐@X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐ @X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐@X08▌"
PrintLn "@X0A▐@X2A│@X2E05@X20│@X2A│ @X20│ @X2A│@X2E11@X20│@X2A│ @X20│@X08▌"
PrintLn "@X0A▐@X2A└@X20──┘@X2A└@X20────────────────────────────────┘ @X2A└@X20──┘@X2A└@X20────────────────────────────────┘@X08▌"
PrintLn "@X0A▐@X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐ @X2A┌──@X20┐@X2A┌────────────────────────────────@X20┐@X08▌"
PrintLn "@X0A▐@X2A│@X2E06@X20│@X2A│ @X20│ @X2A│@X2E12@X20│@X2A│ @X20│@X08▌"
PrintLn "@X0A▐@X2A└@X20──┘@X2A└@X20────────────────────────────────┘ @X2A└@X20──┘@X2A└@X20────────────────────────────────┘@X08▌"
Return
:LABEL012
DefColor
PrintLn "@POFF@@CLS@@X07@X0A▐@X2A┌───────────────────────────────────────────────────────────────────────────@X20┐@X08▌"
PrintLn "@X0A▐@X2A│@X2EBULLETIN.PPE ■ COPYRIGHT 1994 ■ ROBERT BROWER ■ TOTAL ACCESS (905) 568-5294@X20│@X08▌"
PrintLn "@X0A▐@X2A└@X20───────────────────────────────────────────────────────────────────────────┘@X08▌"
PrintLn "@X0A▐@X2A (@X2E@X2A)MOVE (@X2E@X2A)MOVE (@X2E@X2A)MOVE (@X2E@X2A)MOVE (@X2EQ@X2A)UIT (@XAEH@X2A)ELP (@X2EENTER@X2A) = VIEW BULLETIN @X08▌"
PrintLn "@X0A▐@X2A┌───────────────────────────────────────────────────────────────────────────@X20┐@X08▌"
PrintLn "@X0A▐@X2A│ USE YOUR @X2EUP@X2A, @X2EDOWN@X2A, @X2ELEFT @X2AOR @X2ERIGHT @X2ACURSOR KEYS TO MOVE THE HIGHLIGHTED @X20│@X08▌"
PrintLn "@X0A▐@X2A│ SELECTION. PRESS ENTER TO SELECT THE BULLETIN FOR VIEWING. PRESS '@X2EH@X2A' FOR @X20│@X08▌"
PrintLn "@X0A▐@X2A│ THIS HELP SCREEN AT ANY TIME. PRESS '@X2EQ@X2A' TO QUIT OR SELECT THE HIGHLIGHTED @X20│@X08▌"
PrintLn "@X0A▐@X2A│ '@X2EQUIT@X2A' SELECTION TO EXIT THIS PPE UTILITY AND RETURN TO THE BBS. @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X2E■ QUICK REFERENCE GUIDE ■ @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X20┌──────────────────────────────────────@X2A┐ @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X20│ @X2A(@X2E@X2A) MOVE UP ONE SELECTION │ @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X20│ @X2A(@X2E@X2A) MOVE DOWN ONE SELECTION │ @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X20│ @X2A(@X2E@X2A) MOVE RIGHT ONE SELECTION │ @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X20│ @X2A(@X2E@X2A) MOVE LEFT ONE SELECTION │ @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X20│ @X2A(@X2EH@X2A) ACCESS THIS HELP SCREEN │ @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X20│ @X2A(@X2EQ@X2A) QUIT AND RETURN TO BBS │ @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X20│ @X2A(@X2EENTER@X2A) SELECT BULLETIN FOR READING │ @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X20└@X2A──────────────────────────────────────┘ @X20│@X08▌"
PrintLn "@X0A▐@X2A│ @X20│@X08▌"
PrintLn "@X0A▐@X2A└@X20───────────────────────────────────────────────────────────────────────────┘@X08▌"
Print "@WAIT@"
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 4 Color
; 38 Goto
; 45 Let
; 12 Print
; 44 PrintLn
; 20 If
; 1 DispFile
; 1 FOpen
; 1 FClose
; 4 FGet
; 3 DefColor
; 5 Log
; 13 Gosub
; 6 Return
; 2 Inc
; 1 Dec
; 4 AnsiPos
;
;
; ■ Functions used :
;
; 13 +
; 5 -
; 13 ==
; 1 <>
; 3 <
; 1 <=
; 2 >
; 2 >=
; 18 !
; 2 &&
; 3 ||
; 4 Left()
; 3 Ferr()
; 1 Chr()
; 3 RTrim()
; 1 Inkey()
; 1 PPEPath()
; 1 GetToken()
; 1 TokCount()
; 3 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 1 While/EndWhile
; 15 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------